package org.example.carsystem.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data

@NoArgsConstructor
public class Menu implements Serializable {
    //菜单ID
    private Integer menuId;

    public Menu(Integer menuId, String menuName, Integer parentId, Integer orderNum, String path, String component, String query, Integer isFrame, Integer isCache, String menuType, String visible, String status, String parms, String icon, String createBy, Date createTime, String updateBy, Date updateTime, String remark, List<Menu> children) {
        this.menuId = menuId;
        this.menuName = menuName;
        this.parentId = parentId;
        this.orderNum = orderNum;
        this.path = path;
        this.component = component;
        this.query = query;
        this.isFrame = isFrame;
        this.isCache = isCache;
        this.menuType = menuType;
        this.visible = visible;
        this.status = status;
        this.parms = parms;
        this.icon = icon;
        this.createBy = createBy;
        this.createTime = createTime;
        this.updateBy = updateBy;
        this.updateTime = updateTime;
        this.remark = remark;
        this.children = children;
    }

    //菜单名称
    private String menuName;
   //父菜单ID
    private Integer parentId;
   //显示顺序
    private Integer orderNum;
  //路由地址
    private String path;
     //组件路径
    private String component;
    //路由参数
    private String query;
//是否为外链  0是  1 否
    private Integer isFrame;
   //是否缓存 0 缓存 1 不缓存
    private Integer isCache;
    //菜单类型 M目录 c 菜单 f 按钮
    private String menuType;
    //菜单状态 0 宣示 1 隐藏
    private  String visible;
    //菜单状态 0 正常 1 停用
    private String status;
   //权限图标
    private String parms;
    //菜单图标
    private String icon;
     //创建者
    private String createBy;

    private Date createTime;
    //更新者
    private String updateBy;
   //更新时间
    private Date updateTime;
    //备注
    private String remark;
    @TableField(exist = false)
    private List<Menu> children;

}
